package com.fuze.service;

import com.fuze.domain.dto.ContractQueryDTO;
import com.fuze.domain.dto.DataGridView;
import com.fuze.domain.dto.MinimumGuaranteeContractDTO;
import com.fuze.domain.model.MinimumGuaranteeContract;

/**
 * @author sepc_
 * @date 5/19/2021 14:20
 * 保底方式的合同的业务处理接口
 */
public interface MinimumGuaranteeContractService {

    /**
     * 根据合同的类型分页查询合同
     *
     * @param queryDTO 合同的类型以及分页条件的封装
     * @return 查询到的结果集合
     */
    DataGridView queryByType(ContractQueryDTO queryDTO);

    /**
     * 根据id查询保底方式的合同
     *
     * @param id id
     * @return 查询结果
     */
    MinimumGuaranteeContract findById(Integer id);

    /**
     * 新增一一条保底方式的合同数据
     *
     * @param minimumGuaranteeContractDTO 合同数据
     * @return 添加条数
     */
    int add(MinimumGuaranteeContractDTO minimumGuaranteeContractDTO);

    /**
     * 更新保底方式的合同数据
     *
     * @param minimumGuaranteeContractDTO 合同数据
     * @return 更新的数据量
     */
    int update(MinimumGuaranteeContractDTO minimumGuaranteeContractDTO);

    /**
     * 根据id删除合同
     *
     * @param ids 需要删除的合同的id
     * @return 删除的条数
     */
    int delete(Integer[] ids);
}
